package com.lh.tams.service;

import java.util.List;
import org.springframework.stereotype.Service;
import com.lh.tams.dao.ModuleDao;
import com.lh.tams.domain.TamsModule;
import com.lh.tams.util.DataGridModel;
import com.lh.tams.util.Page;

@Service
public class ModuleService {

	private ModuleDao moduleDao;

	public void setModuleDao(ModuleDao moduleDao) {
		this.moduleDao = moduleDao;
	}

	public void add(TamsModule module) {
		moduleDao.add(module);
	}
	
	public void update(TamsModule module){
		moduleDao.update(module);
	}
	
	public Page queryAll(DataGridModel dgm){
		return moduleDao.queryAll(dgm);
	}
	
	public void delete(long[] ids){
		for(int i=0;i<ids.length;i++){
			//在删除其下的子模块
			List<TamsModule> list=moduleDao.querySubModule(ids[i]);
			if(list.size()==0){
				moduleDao.delete(new long[]{ids[i]});//删除父亲模块
				continue;
			}
			long[] subIds=new long[list.size()];
			for(int j=0;j<list.size();j++){
				subIds[i]=list.get(i).getIdBgt();
			}
			moduleDao.delete(subIds);
			moduleDao.delete(new long[]{ids[i]});//删除父亲模块
		}
	}
	
	public TamsModule getModuleById(long id){
		return moduleDao.getModuleById(id);
	}
	
	public List<TamsModule> queryParent(){
		return moduleDao.queryParent();
	}
	
	public List<TamsModule> querySubModule(long parentId){
		return moduleDao.querySubModule(parentId);
	}
}
